package com.yzh;

import java.util.LinkedHashMap;

public class CartItemDaoImpl implements CartItemDao{
    /**
     * 购物车  不使用static修饰  不是用户独有
     */
    private LinkedHashMap<Integer,CartItem> shoppingCart = new LinkedHashMap<Integer, CartItem>();
    static {

    }

    @Override
    public void delCartItem(CartItem cartItem) {
        //判断product是否存在
        CartItem cartItem1 = shoppingCart.get(cartItem.getId());
        if (cartItem1 == null){
            System.out.println("您要删除的商品不存在");
            return;
        }
        //判断商品数量
        if (cartItem.getAmount()>cartItem1.getAmount()){
            System.out.println("购物车中只有"+cartItem1.getAmount()+"个商品");
            return;
        }
        //删除后数量
        cartItem1.setAmount(cartItem1.getAmount()-cartItem.getAmount());
        System.out.println("删除成功！");
    }

    @Override
    public void addCartItem(CartItem cartItem) {
        //判断指定编号的product是否存在  存在＋数量 不存在+条目
        CartItem cartItem1 = shoppingCart.get(cartItem.getId());
        if (cartItem1 == null) {
            shoppingCart.put(cartItem.getId(), cartItem);
        }else {
            //获取原来数量
            //int num1 = cartItem1.getAmount();
            //现在数量
            //int num2 = cartItem.getAmount();
            //数量相加
            //int num = num1 + num2;
            cartItem1.setAmount(cartItem1.getAmount()+cartItem.getAmount());
        }
        System.out.println("添加成功！");
    }

    @Override
    public LinkedHashMap<Integer, CartItem> findCart() {
        //假设购物车中有两个条目
//        shoppingCart.put(1,new CartItem(1,"    华为手机    ",100.1,10000));
//        shoppingCart.put(2,new CartItem(2,"    笔记本    ",10.5,100));
        return shoppingCart;
    }
}